import Vue from 'vue'
import axios from 'axios'
import store from '@/store/index.js'
const request = axios.create({
  // baseURL: 'https://apis.netstart.cn/music/',
  baseURL: 'http://47.115.51.185:8081/',
  withCredentials: true
  // baseURL: 'http://music.eleuu.com/' // axios.get('/recommend/songs')
})

// 请求拦截器
// Add a request interceptor
request.interceptors.request.use(function (config) {
  // Do something before request is sent
  // config ：本次请求的配置对象
  // config 里面有一个属性：headers

  const { user } = store.state
  console.log(user)
  // 为请求头对象，添加token验证的Authorization字段
  if (user && user.token) {
    config.cookie = ` ${user.token}`
  }

  // config.headers.Authorization
  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})
// 2.挂载到原型上
axios.defaults.baseURL = 'http://music.eleuu.com/'
// 请求拦截器
axios.interceptors.request.use((config) => {
  // console.log(config)
  const { user } = store.state
  // 为请求头对象，添加token验证的Authorization字段
  if (user && user.token) {
    config.cookie = ` ${user.token}`
  }
  return config
})

// 在 response 拦截器中，隐藏进度条 NProgress.done();
axios.interceptors.response.use(config => {
  return config
})
Vue.prototype.$http = axios

// 响应拦截器
export default request
